<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.org/ui"    
      xmlns:f="http://java.sun.com/jsf/core">
    <body>
        <ui:composition template="./../MasterPage/masterPage.xhtml">
            <ui:define name="content">

                <p:panel header="Mantenedor de Cliente_Empresa">
                    <h:form id="frmfieldset">
                        <p:growl id="grow2" showDetail="true"/>
                        <h:panelGrid id="nuevo" columns="1" width="100%" >                
                            <p:fieldset legend="Nuevo Cliente" toggleable="true" collapsed="true" toggleSpeed="500">  
                                <p:ajax event="toggle"  update="grow2" /> 
                                <h:panelGrid  id="datos" columns="2" cellpadding="15"> 
                                     <h:outputText value="PERSONA : " style="font-size: 11px; font-weight: bold;"/>
                         <p:autoComplete style="font-size: 11px; font-weight: bold;"   id="AutocompleteDOS" effect="fade"
                                         value="#{managedBeanCliente.objetoClientePersona}"
                                                            completeMethod="#{managedBeanCliente.completar_filtrado_ClientesPersonas}"
                                                            var="item_cliente" itemLabel="#{item_cliente.persona.perDNI.concat(' ').concat(item_cliente.persona.perApellidos)}"
                                                            itemValue="#{item_cliente}"
                                                            converter="Cliente2Converter"  minQueryLength="1"
                                                            size="42"
                                                            >
                                 </p:autoComplete>
                                    <h:outputText value="RUC: *" /> 
                                    <p:inputText style="width: 150px"  required="true" requiredMessage="Ingrese RUC" label="RUC" id="txtRUC" value="#{managedBeanCliente.objetoClienteCrear.cliRUC}"/>                        
                                    <h:outputText value="Razon Social: *" /> 
                                    <p:inputText style="width: 150px"  required="true" requiredMessage="Ingrese Razon Social" label="Razon" id="txtRazon" value="#{managedBeanCliente.objetoClienteCrear.cliRazSoc}"/>                        
                                    <h:outputText value="Direccion Fiscal: *" /> 
                                    <p:inputText style="width: 150px"  required="true" requiredMessage="Ingrese Direccion" label="Direccion" id="txtDireccionF" value="#{managedBeanCliente.objetoClienteCrear.cliDireccionFiscal}"/>                        
                                    <h:outputText value="Empresa/Asociada: *" /> 
                                    <p:selectOneMenu id="nu2" value="#{managedBeanCliente.objetoClienteCrear.perEmpresaAsociada}" style="width:190px">
                                        <f:selectItem itemLabel="Empresa Asociada" itemValue="1" />  
                                        <f:selectItem itemLabel="Empresa Propia" itemValue="0" />
                                    </p:selectOneMenu> 
                                </h:panelGrid>
                                <p:separator />
                                <center >        
                                    <p:fieldset legend="Detalle Empresa" toggleable="true" collapsed="true" toggleSpeed="500">
                                        <h:panelGrid  id="d1" columns="4" cellpadding="15">  
                                            <h:outputText value="Direccion: *" /> 
                                            <p:inputText style="width: 150px" label="direccion" id="txt1" value="#{managedBeanCliente.objetoDetallecliente.dcliDireccion}"/>                        
                                            <h:outputText value="Telefono: *" /> 
                                            <p:inputText style="width: 150px" label="Celular" id="txt2" value="#{managedBeanCliente.objetoDetallecliente.dcliTelefono}"/>                        
                                            <h:outputText value="Celular: *" /> 
                                            <p:inputText style="width: 150px" label="Telefono" id="txt3" value="#{managedBeanCliente.objetoDetallecliente.dcliCelular}"/>                        
                                            <h:outputText value="Email: *" /> 
                                            <p:inputText style="width: 150px" label="Celular" id="txt4" value="#{managedBeanCliente.objetoDetallecliente.dcliEmail}"/>                        
                                        </h:panelGrid>
                                        <h:panelGrid id="d2" columns="1">
                                            <center>
                                                <p:commandButton icon="ui-icon-disk"  value="Agregar" action="#{managedBeanCliente.agregando()}" update=":frmfieldset:grow2 :frmfieldset :frmNuevo:dataTable" />
                                            </center>
                                        </h:panelGrid>
                                        <br/>
                                        <p:dataTable id="TableDetalle" var="itemdetalle" value="#{managedBeanCliente.listaDetalleclientes}" widgetVar="marcaTable" emptyMessage="Datos no encontrados"
                                                     rowKey="#{itemdetalle.idDetalleCliente}" paginator="true" rows="5">
                                            <f:facet name="header">  
                                                <p:outputPanel>  
                                                    <h:outputText value="LISTADO DETALLE" />    
                                                </p:outputPanel>  
                                            </f:facet>

                                            <p:column   filterBy="#{itemdetalle.dcliDireccion}"  style="width:25%; text-align: center"> 
                                                <f:facet name="header">
                                                    <h:outputText value="Direccion" />
                                                </f:facet>
                                                <h:outputText value="#{itemdetalle.dcliDireccion}" />  
                                            </p:column>

                                            <p:column   filterBy="#{itemdetalle.dcliTelefono}"  style="width:25%; text-align: center"> 
                                                <f:facet name="header">
                                                    <h:outputText value="Telefono" />
                                                </f:facet>
                                                <h:outputText value="#{itemdetalle.dcliTelefono}" />  
                                            </p:column>

                                            <p:column   filterBy="#{itemdetalle.dcliCelular}"  style="width:25%; text-align: center"> 
                                                <f:facet name="header">
                                                    <h:outputText value="Celular" />
                                                </f:facet>
                                                <h:outputText value="#{itemdetalle.dcliCelular}" />  
                                            </p:column>

                                            <p:column   filterBy="#{itemdetalle.dcliEmail}"  style="width:25%; text-align: center"> 
                                                <f:facet name="header">
                                                    <h:outputText value="Email" />
                                                </f:facet>
                                                <h:outputText value="#{itemdetalle.dcliEmail}" />  
                                            </p:column> 
                                        </p:dataTable> 
                                    </p:fieldset>
                                </center>
                                <p:separator />
                                <br/>
                                <p:separator />
                                <center>        
                                    <p:commandButton icon="ui-icon-disk"  value="Insertar" action="#{managedBeanCliente.insertarJuridicoMantenedor()}" update=":frmfieldset:grow2 :frmfieldset :frmNuevo:dataTable" />
                                </center>
                                <p:separator />
                            </p:fieldset>
                        </h:panelGrid>
                    </h:form>
                    <br/>
                    <h:form id="frmNuevo">
                        <p:growl id="growl" showDetail="true"/>
                        <p:growl id="messages" /> 
                        <h:panelGrid id="padre" columns="1" style="width: 100%">
                            <h:panelGrid id="hijo2" columns="1" style="width: 100%">
                                <p:dataTable id="dataTable" var="Cliente" value="#{managedBeanCliente.lista}" widgetVar="ClienteTable" emptyMessage="Datos no encontrados"
                                             selection="#{managedBeanCliente.objetoCliente}" selectionMode="single"
                                             rowKey="#{Cliente.idCliente}" paginator="true" rows="5"
                                             rowsPerPageTemplate="5,10,20,50">  
                                    <p:ajax event="rowSelect" listener="#{managedBeanCliente.onRowSelect}"
                                            update=":frmNuevo:display :frmNuevo:growl" oncomplete="ClienteDialogo.show()"  />
                                    <p:ajax event="rowUnselect" listener="#{managedBeanCliente.onRowUnselect}" update=":frmNuevo:growl"/>
                                    <f:facet name="header">  
                                        <p:outputPanel>  
                                            <h:outputText value="Listado de Clientes" />    
                                        </p:outputPanel>  
                                    </f:facet> 
                                    <p:column id="Cargo" filterMatchMode="contains" filterBy="#{Cliente.cliRUC}" style="text-align: center" > 
                                        <f:facet name="header">
                                            <h:outputText value="RUC" />
                                        </f:facet>
                                        <h:outputText value="#{Cliente.cliRUC}" />  
                                    </p:column> 
                                    <p:column id="descripcion" filterMatchMode="contains" filterBy="#{Cliente.cliRazSoc}" style="text-align: center" > 
                                        <f:facet name="header">
                                            <h:outputText value="Razon Social" />
                                        </f:facet>
                                        <h:outputText value="#{Cliente.cliRazSoc}" />  
                                    </p:column> 
                                    <p:column id="dni" filterMatchMode="contains" filterBy="#{Cliente.cliDireccionFiscal}" style="text-align: center" > 
                                        <f:facet name="header">
                                            <h:outputText value="Direccion Fiscal" />
                                        </f:facet>
                                        <h:outputText value="#{Cliente.cliDireccionFiscal}" />  
                                    </p:column> 
                                    <p:column id="nombre" filterMatchMode="contains" filterBy="#{Cliente.perEmpresaAsociada}" style="text-align: center" > 
                                        <f:facet name="header">
                                            <h:outputText value="Empresa/Asociada" />
                                        </f:facet>
                                        <h:outputText value="#{Cliente.perEmpresaAsociada eq false?'Propia':'Asociada'}" />  
                                    </p:column>  
                                </p:dataTable> 
                            </h:panelGrid>
                        </h:panelGrid>        
                        <p:dialog modal="true" id="dialog" header="Editar Cliente Empresa" widgetVar="ClienteDialogo" resizable="false" 
                                  showEffect="explode" hideEffect="explode" height="500" style="width: 100%" >

                            <h:panelGrid id="display" columns="2" cellpadding="4">
                                <p:growl id="grow5" showDetail="true"/>
                                <p:fieldset legend="Datos de Cliente_Empresa" toggleable="true" toggleSpeed="500">  
                                    <p:ajax event="toggle" listener="#{fieldsetBean.handleToggle}" update="growl" />    
                                    <h:panelGrid columns="4" cellpadding="10">
                                        <h:outputText value="idPersona: *" /> 
                                        <p:inputText disabled="true" style="width: 150px"  required="true" value="#{managedBeanCliente.objetoCliente.idCliente}"/>
                                        <h:outputText value="RUC: *" /> 
                                        <p:inputText style="width: 150px"  required="true" value="#{managedBeanCliente.objetoCliente.cliRUC}"/>                        
                                        <h:outputText value="Razon Social: *" /> 
                                        <p:inputText style="width: 150px"  required="true" value="#{managedBeanCliente.objetoCliente.cliRazSoc}"/>                        
                                        <h:outputText value="Direccion Fiscal: *" /> 
                                        <p:inputText style="width: 150px"  required="true" value="#{managedBeanCliente.objetoCliente.cliDireccionFiscal}"/>                        
                                        <h:outputText value="Empresa/Asociada: *" /> 
                                        <p:selectOneMenu id="nu4" value="#{managedBeanCliente.objetoCliente.perEmpresaAsociada}" style="width:190px">
                                            <f:selectItem itemLabel="Empresa Asociada" itemValue="true" />  
                                            <f:selectItem itemLabel="Empresa Propia" itemValue="false" />
                                        </p:selectOneMenu>
                                    </h:panelGrid>
                                    <p:fieldset legend="Detalle Empresa" toggleable="true" collapsed="true" toggleSpeed="500">
                                        <h:panelGrid  id="da19" columns="4" cellpadding="15">  
                                            <h:outputText value="Direccion: *" /> 
                                            <p:inputText style="width: 150px" label="adios" id="adios2" value="#{managedBeanCliente.objetoDetalleclienteCrear.dcliDireccion}"/>
                                            <h:outputText value="Telefono: *" /> 
                                            <p:inputText style="width: 150px" label="Celular" id="a2" value="#{managedBeanCliente.objetoDetalleclienteCrear.dcliTelefono}"/>                        
                                            <h:outputText value="Celular: *" /> 
                                            <p:inputText style="width: 150px" label="Telefono" id="a3" value="#{managedBeanCliente.objetoDetalleclienteCrear.dcliCelular}"/>                        
                                            <h:outputText value="Email: *" /> 
                                            <p:inputText style="width: 150px" label="Celular" id="a4" value="#{managedBeanCliente.objetoDetalleclienteCrear.dcliEmail}"/>                        
                                        </h:panelGrid>
                                        <h:panelGrid id="da29" columns="1">
                                            <center>
                                                <p:commandButton icon="ui-icon-disk"  value="Agregar" title="Agregar" alt="Agregar" action="#{managedBeanCliente.agregandonuevo()}" update=":frmNuevo:grow5 :frmNuevo:da19 :frmNuevo:detallecli" >
                                                </p:commandButton>
                                            </center>
                                        </h:panelGrid>
                                    </p:fieldset>
                                    <p:separator />
                                    <p:contextMenu widgetVar="cMenu">     
                                        <p:menuitem value="Edit Cell" icon="ui-icon-search" onclick="detallecliTable.showCellEditor();
                                                return false;"/>    
                                        <p:menuitem value="Hide Menu" icon="ui-icon-close" onclick="cMenu.hide()"/>    
                                    </p:contextMenu>

                                    <p:dataTable id="detallecli" var="item" value="#{managedBeanCliente.listaDetalleclientesEditar}" editable="true" editMode="cell" widgetVar="detallecliTable"
                                                 selection="#{managedBeanCliente.objetoDetalleclienteEditar}"
                                                 rowKey="#{item.idDetalleCliente}">  

                                        <f:facet name="header">  
                                            Listado de Datos Adicionales
                                        </f:facet>  

                                        <p:ajax event="cellEdit" listener="#{managedBeanCliente.onCellEdit(event, item.idDetalleCliente,item.cliente.idCliente,item.dcliDireccion,item.dcliTelefono,item.dcliCelular,item.dcliEmail)}"  update=":frmNuevo:display :frmNuevo:messages :frmNuevo:growl" />  

                                        <p:column headerText="Direccion" style="width:25%">  
                                            <p:cellEditor>  
                                                <f:facet name="output"><h:outputText value="#{item.dcliDireccion}" /></f:facet>  
                                                <f:facet name="input"><p:inputText id="modelInput" value="#{item.dcliDireccion}" style="width:96%"/></f:facet>  
                                            </p:cellEditor>  
                                        </p:column>

                                        <p:column headerText="Telefono" style="width:25%">  
                                            <p:cellEditor>
                                                <f:facet name="output"><h:outputText value="#{item.dcliTelefono}" /></f:facet>  
                                                <f:facet name="input"><p:inputText value="#{item.dcliTelefono}" style="width:96%" label="Year"/></f:facet>  
                                            </p:cellEditor>
                                        </p:column>

                                        <p:column headerText="Celular" style="width:25%">  
                                            <p:cellEditor>  
                                                <f:facet name="output"><h:outputText value="#{item.dcliCelular}" /></f:facet>  
                                                <f:facet name="input"><p:inputText value="#{item.dcliCelular}" style="width:96%" label="Year"/></f:facet>  
                                            </p:cellEditor>  
                                        </p:column>

                                        <p:column headerText="Email" style="width:25%">  
                                            <p:cellEditor>  
                                                <f:facet name="output"><h:outputText value="#{item.dcliEmail}" /></f:facet>  
                                                <f:facet name="input"><p:inputText value="#{item.dcliEmail}" style="width:96%" label="Year"/></f:facet>  
                                            </p:cellEditor>
                                        </p:column>
                                        <p:column headerText="Eliminar Seleccionados" style="width:25%">
                                            <center>
                                                <p:commandButton action="#{managedBeanCliente.eliminarDetalleJuridico}" value="Eliminar" title="Eliminar" alt="Eliminar" icon="ui-icon-close"  update=":frmNuevo:detallecli" >                                            
                                                    <f:setPropertyActionListener value="#{item}" target="#{managedBeanCliente.objetoDetallecliente}" />
                                                </p:commandButton>
                                            </center>
                                        </p:column>
                                    </p:dataTable>
                                    <center>
                                        <p:commandButton icon="ui-icon-arrowrefresh-1-w" value="Actualizar" action="#{managedBeanCliente.editarjuridico()}" update=":frmNuevo" />
                                        <p:commandButton icon="ui-icon-arrowrefresh-1-w" value="Eliminar" action="#{managedBeanCliente.eliminar()}" update=":frmNuevo" />
                                    </center>
                                </p:fieldset> 
                            </h:panelGrid>
                        </p:dialog>
                        <p:outputPanel id="panel1" autoUpdate="true" style="text-align: center">
                            <center>
                                <h:panelGrid columns="2" cellpadding="10">
                                    <p:fieldset legend="Exportar Todo: Seleccione el tipo de Formato" toggleSpeed="500"> 
                                        <center>
                                            <h:panelGrid columns="2" cellpadding="10">
                                                <h:commandLink>
                                                    <p:graphicImage style="width: 40px; height: 48px" value="/images/excel.png" />
                                                    <p:dataExporter type="xls" target="dataTable" fileName="lista" />
                                                </h:commandLink>
                                                <h:commandLink>
                                                    <p:graphicImage style="width: 50px; height: 48px" value="/images/pdf.jpg" />
                                                    <p:dataExporter type="pdf" target="dataTable" fileName="lista"/>
                                                </h:commandLink>
                                            </h:panelGrid>
                                        </center>
                                    </p:fieldset>
                                    <h:panelGrid columns="2" cellpadding="10" >                             
                                        <p:fieldset legend="Exportar por Paginado: Seleccione el tipo de Formato" toggleSpeed="500"> 
                                            <center>
                                                <h:panelGrid columns="2" cellpadding="10">
                                                    <h:commandLink>
                                                        <p:graphicImage style="width: 40px; height: 48px" value="/images/excel.png" />
                                                        <p:dataExporter type="xls" target="dataTable" fileName="lista" pageOnly="true"/>
                                                    </h:commandLink>
                                                    <h:commandLink>
                                                        <p:graphicImage style="width: 50px; height: 48px" value="/images/pdf.jpg" />
                                                        <p:dataExporter type="pdf" target="dataTable" fileName="lista" pageOnly="true"/>
                                                    </h:commandLink>
                                                </h:panelGrid>
                                            </center>
                                        </p:fieldset>
                                    </h:panelGrid>
                                </h:panelGrid>
                            </center>
                        </p:outputPanel>
                    </h:form>
                </p:panel>
            </ui:define>
        </ui:composition>
    </body>
</html>